{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 295,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.datasets import load_wine\n",
    "wine=load_wine()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 296,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3,random_state=1)\n",
    "clf = DecisionTreeClassifier(random_state=1)\n",
    "rfc = RandomForestClassifier(random_state=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 297,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Single Tree:0.9444444444444444 Random Forest:0.9814814814814815\n"
     ]
    }
   ],
   "source": [
    "clf = clf.fit(Xtrain,Ytrain)\n",
    "rfc = rfc.fit(Xtrain,Ytrain)\n",
    "score_c = clf.score(Xtest,Ytest)\n",
    "score_r = rfc.score(Xtest,Ytest)\n",
    "print(\"Single Tree:{}\".format(score_c),\"Random Forest:{}\".format(score_r))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 298,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForest:\n",
      "0.9718954248366012\n",
      "DecisionTree:\n",
      "0.8705882352941178\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.model_selection import cross_val_score\n",
    "import matplotlib.pyplot as plt\n",
    "# rfc = RandomForestClassifier(n_estimators=25,random_state=7)\n",
    "# rfc_s = cross_val_score(rfc,wine.data,wine.target,cv=10)\n",
    "# clf = DecisionTreeClassifier(random_state=7)\n",
    "# clf_s = cross_val_score(clf,wine.data,wine.target,cv=10)\n",
    "# plt.plot(range(1,11),rfc_s,label = \"RandomForest\")\n",
    "# plt.plot(range(1,11),clf_s,label = \"Decision Tree\")\n",
    "# plt.legend()\n",
    "label = \"RandomForest\"\n",
    "for model in [RandomForestClassifier(n_estimators=25,random_state=7),DecisionTreeClassifier(random_state=7)]:\n",
    "    score = cross_val_score(model,wine.data,wine.target,cv=10)\n",
    "    print(\"{}:\".format(label)),print(score.mean())\n",
    "    plt.plot(range(1,11),score,label = label)\n",
    "    plt.legend()\n",
    "    label = \"DecisionTree\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 301,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x217feb26400>"
      ]
     },
     "execution_count": 301,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "rfc_l = []\n",
    "clf_l = []\n",
    "for i in range(10):\n",
    "    rfc = RandomForestClassifier(n_estimators=25)\n",
    "    rfc_s = cross_val_score(rfc,wine.data,wine.target,cv=10).mean()\n",
    "    rfc_l.append(rfc_s)\n",
    "    clf = DecisionTreeClassifier()\n",
    "    clf_s = cross_val_score(clf,wine.data,wine.target,cv=10).mean()\n",
    "    clf_l.append(clf_s)\n",
    "plt.plot(range(1,11),rfc_l,label = \"Random Forest\")\n",
    "plt.plot(range(1,11),clf_l,label = \"Decision Tree\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 302,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9888888888888889 13\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIcAAAEvCAYAAADfBqG/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAB/xElEQVR4nO3deVxj530v/s+jFcQiYNgFzOLZB2Y84xlsx4nXeI2XxCuTZmna3DRtkra56W2TtLfpvf39bnO7pOmvTW+atmmTm3jwHjuOE9vx7sQ2zA7M7lkQYh+BBBJofX5/HB0htAsEEujzfr3yikcIOHDQ0XO+z3cRUkoQEREREREREVFh0uT6AIiIiIiIiIiIKHcYHCIiIiIiIiIiKmAMDhERERERERERFTAGh4iIiIiIiIiIChiDQ0REREREREREBYzBISIiIiIiIiKiAqbL9QHEU11dLdetW5frwyAiIiIiIiIiWjUOHTo0LqWsiX48L4ND69atw8GDB3N9GEREREREREREq4YQ4lK8x1lWRkRERERERERUwBgcIiIiIiIiIiIqYAwOEREREREREREVMAaHiIiIiIiIiIgKGINDREREREREREQFjMEhIiIiIiIiIqICxuAQEREREREREVEBY3CIiIiIiIiIiKiAMThERERERERERFTAdLk+AFr93jo7hms3rIFOy1jkatFrc6C23IjasqJl/b6+QBC/OjeOGzbXQAixrN+bMhMMSrxxdgw3bKqBRsNzlS8CQYm3z43j+k3VK/415PEH8LPjQ/D4g/MeL9JrcPfORugL/D3nmHUSlspiVJcac30olCVWuxszvgA215Ut+/d++cQIxqc98x7TCODD2+qwJg/+xrz+IJ4/PhhzPTDqlOuBQZf768Gk24vz4y7saanM9aFkZMgxg0m3D9saynN9KACUa1tTZXFe/N0thV6bA1UlBjRWFCd9ntXuhsvrx9b6/Dgv6To7MgWDToO1a0oy/lzHjA/nRqdw1dqqJTgyAhgcoiV2csiJT/57F/5x/27cs6sx14dDWfKb/9GNm7bU4G8e2rWs3/dnx4fwh48dxfd/cy9u3lq3rN+bMvP2uXF85j+68e1HrsRHd1tyfTgU8uqpUfyXHx7EE5+/FvvWrezF1S96h/FfHz8W92PFei3uaG1Y5iPKH75AEB3fexf377Hg//1YW64Ph7Lk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LB7/ihav5xCgZAhF8wWCmJr1M3OIiIiIiIiIiLJKl+oJUkq/EOKLAF4EoAXwfSllnxDi86GPfxfANgA/FEIEAJwA8NtLeMyrhscX3XNICfzYXbHBoUuX3QCABnPRMh0dERERERERERWClMEhAJBSvgDghajHvhvx3+8A2JTia7wO4PWMj3AV8wbml5WpPYfiZQ712hwAgLYm8zIdHREREREREREVgnTKymiJqJlDallZRbEeQsTvOdRjc8Co02BjTemyHiMRERERERERrW4MDuWQxx+ATiOg1SgD4XRaDczF+oSZQ9sayqHT8pQRERERERERUfYw0pBDHn8w3G9IVWUyxPQcCgYl+gadaLOwpIyIiIiIiIiIsovBoRzy+oMw6rXzHqssMcRkDl287MK0x49WS/lyHh4RERERERERFQAGh3LI4w/AEFUmVlViiOk51DvoBAC0MnOIiIiIiIiIiLKMwaEc8viDMOpjy8qiM4d6bQ4YtBpsritbzsMjIiIiIiIiogLA4FAOeeP0HKosMWDC5YOUMvxYz4ADWxvKoGczaiIiIiIiIiLKMkYbckhpSD2/51BViR7eQBAubwAAIKVE76CDJWVEREREREREtCQYHMohjz8AQ/S0shIjAMAe6jvUb3djatbPSWVEREREREREtCQYHMohjy/OKPsSPQDAHuo71GsLNaNuZHCIiIiIiIiIiLKPwaEc8gbi9BwyGQAAEy4lONRjc0CvFdhcX7rsx0dEREREREREqx+DQzmkZA5F9xxSgkN2l5o55MDmurKY5xERERERERERZQODQzkUr+dQZURwSG1GzX5DRERERERERLRUGBzKoXij7MuMOui1Ana3FwMTM5h0+zipjIiIiIiIiIiWDINDOeTxB2HUzz8FQghUmgyYcHnRa3MAAINDRERERERERLRkGBzKIY8/CIM2tpdQVYkBdpcXvYMO6DQCW+vLcnB0RERERERERFQIGBzKIY8/EJM5BCgTy+wuL3psTmyqK0ORns2oiYiIiIiIiGhpMDiUI8GghC8gY3oOAUBVaShzyOZAa2N5Do6OiIiIiIiIiAqFLtcHUKi8gSAAxB1RX2Uy4JLdjUBQoq2J/YaIiIiIiIiIaOkwcyhHPD4lOBQ9yh5QxtkHghIAm1ETERERERER0dJicChHPP4AAMQvKzPpAQAaAWyrZ1kZERERERERES0dBodyxONXy8ri9RwyAgA21Zah2MBm1ERERERERES0dBgcypFwcCjOJLIqkwEAsMPCrCEiIiIiIiIiWloMDuWIWlZm0MbJHCpRgkNt7DdEREREREREREuMwaEc8YYzh2JPwdb6MvzxHVvwsd2W5T4sIiIiIiIiIiowHGWfI8l6Dmk0Ar9348blPiQiIiIiIiIiKkDMHMqRZMEhIiIiIiIiIqLlwshEjnh86ih7TiMjIiIiIiIiotxhcChHvAFmDhERERERERFR7jEykSMenxocYuYQEREREREREeUOg0M5ovYcMjBziIiIiIiIiIhyiJGJHPH41Z5DPAVERERERERElDuMTOSIV51WpucpICIiIiIiIqLcYWQiR8JlZVqeAiIiIiIiIiLKHUYmcsTjD0CrEdAxOEREREREREREOcTIRI54/UH2GyIiIiIiIiKinGN0Ikc8DA4RERERERERUR5IKzohhLhDCHFaCHFOCPHVOB+vFEI8I4Q4LoToEkK0hh5vFkK8JoQ4KYToE0L8QbZ/gJXK4wtyjD0RERERERER5VzK6IQQQgvgOwDuBLAdwH4hxPaop30dwFEp5U4AnwLwD6HH/QC+IqXcBuAaAF+I87kFyeMPwKjT5vowiIiIiIiIiKjApZO60g7gnJTyvJTSC6ATwH1Rz9kO4BUAkFKeArBOCFEnpRySUh4OPT4F4CQAS9aOfgXzBlhWRkRERERERES5l050wgLAGvHvAcQGeI4BuB8AhBDtANYCaIp8ghBiHYDdAN5b4LGuKh5fEEY9g0NERERERERElFvpRCdEnMdk1L+/CaBSCHEUwJcAHIFSUqZ8ASFKATwF4A+llM6430SIzwkhDgohDo6NjaVz7Cuaxx+EgWPsiYiIiIiIiCjHdGk8ZwBAc8S/mwAMRj4hFPD5DAAIIQSAC6H/QQihhxIY+rGU8ulE30RK+T0A3wOAvXv3RgefVh1llD17DhERERERERFRbqWTutINYJMQYr0QwgCgA8BzkU8QQlSEPgYAnwXwppTSGQoU/TuAk1LKb2XzwFc6jz/AsjIiIiIiIiIiyrmUmUNSSr8Q4osAXgSgBfB9KWWfEOLzoY9/F8A2AD8UQgQAnADw26FPvw7AJwH0hErOAODrUsoXsvtjrDwePxtSExEREREREVHupVNWhlAw54Wox74b8d/vANgU5/PeRvyeRQXP4w/CwLIyIiIiIiIiIsoxpq7kiJeZQ0RERERERESUBxidyBGPP8DgEBERERERERHlHKMTOeLxBWFgcIiIiIiIiIiIcozRiRzxcJQ9EREREREREeUBBodyQEoJb4A9h4iIiIiIiIgo9xidyAGPPwgAMOr56yciIiIiIiKi3GJ0IgfU4JBBy18/EREREREREeUWoxM54A1nDrHnEBERERERERHlFoNDOeDxBwCAPYeIiIiIiIiIKOcYnciBcM8hBoeIiIiIiIiIKMcYncgBj4/BISIiIiIiIiLKD4xO5IA3oAaH2HOIiIiIiIiIiHKLwaEc8PjYc4iIiIiIiIiI8gOjEzkQHmXP4BARERERERER5RijEzkw15CaZWVERERERERElFsMDuWAVw0O6fnrJyIiIiIiIqLcYnQiBzx+9hwiIiIiIiIiovzA6EQOsOcQEREREREREeULRidywMueQ0RERERERESUJxgcygGWlRERERERERFRvmB0Igc8PjVziL9+IiIiIiIiIsotRidywOMPQiMAnZa/fiIiIiIiIiLKLUYncsAbCLLfEBERERERERHlBQaHcsDjC8Co56+eiIiIiIiIiHKPEYoc8PiDMLCkjIiIiIiIiIjyACMUOeD1B5k5RERERERERER5gRGKHPD42XOIiIiIiIiIiPIDg0M54PEHOMaeiIiIiIiIiPICIxQ54PEHYWBwiIiIiIiIiIjyACMUOaCUlfFXT0RERERERES5xwhFDrDnEBERERERERHlCwaHcsDjY88hIiIiIiIiIsoPjFDkgJc9h4iIiIiIiIgoTzBCkQMsKyMiIiIiIiKifMHgUA54/EEY9fzVExEREREREVHuMUKRAx5/AAYtf/VERERERERElHuMUOSAl5lDRERERERERJQnGKFYZlJK9hwiIiIiIiIioryRVnBICHGHEOK0EOKcEOKrcT5eKYR4RghxXAjRJYRoTfdzC403EAQAjrInIiIiIiIioryQMkIhhNAC+A6AOwFsB7BfCLE96mlfB3BUSrkTwKcA/EMGn1tQPH4Gh4iIiIiIiIgof6QToWgHcE5KeV5K6QXQCeC+qOdsB/AKAEgpTwFYJ4SoS/NzC4qXwSEiIiIiIiIiyiPpRCgsAKwR/x4IPRbpGID7AUAI0Q5gLYCmND+3oMxlDrHnEBERERERERHlXjrBIRHnMRn1728CqBRCHAXwJQBHAPjT/FzlmwjxOSHEQSHEwbGxsTQOa2Xy+AIAwGllRERERERERJQXdGk8ZwBAc8S/mwAMRj5BSukE8BkAEEIIABdC/zOl+tyIr/E9AN8DgL1798YNIK0GauaQQcvgEBERERERERHlXjoRim4Am4QQ64UQBgAdAJ6LfIIQoiL0MQD4LIA3QwGjlJ9baMI9h5g5RERERERERER5IGXmkJTSL4T4IoAXAWgBfF9K2SeE+Hzo498FsA3AD4UQAQAnAPx2ss9dmh9lZWDPISIiIiIiIiLKJ+mUlUFK+QKAF6Ie+27Ef78DYFO6n1vIPH6l55CB08qIiIiIiIiIKA8wQrHMOMqeiIiIiIiIiPIJIxTLjGVlRERERERERJRPGBxaZmpZGTOHiIiIiIiIiCgfMEKxzDy+0Ch7BoeIiIiIiIiIKA8wQrHMvAH2HCIiIiIiIiKi/MEIxTJTM4eMevYcIiIiIiIiIqLcY3BombHnEBERERERERHlE0YolpnXH4QQgE4jcn0oREREREREREQMDi03jz8Io04DIRgcIiIiIiIiIqLcY3BomSnBIfYbIiIiIiIiIqL8wODQMvP4AxxjT0RERERERER5g1GKZaaWlRERERERERER5QNGKZYZg0NERERERERElE8YpVhmHh97DhERERERERFR/mBwaJmx5xARERERERER5RNGKZaZl2VlRERERERERJRHGKVYZh5/EEY9y8qIiIiIiIiIKD8wOLTM2JCaiIiIiIiIiPIJoxTLzMueQ0RERERERESURxilWGbMHCIiIiIiIiKifMIoxTJTgkPsOURERERERERE+YHBoWXm8QWYOUREREREREREeYNRimXmDbCsjIiIiIiIiIjyB6MUy0hKyZ5DRERERERERJRXGKVYRr6AhJSAUc+eQ0RERERERESUHxgcWkYefwAAYNDy105ERERERERE+YFRimXk9QcBAEY9f+1ERERERERElB8YpVhGHjU4xJ5DRERERERERJQnGKVYRnPBIfYcIiIiIiIiIqL8wODQMlLLygzMHCIiIiIiIiKiPMEoxTJSG1KzrIyIiIiIiIiI8gWjFMuIZWVERERERERElG8YHFpGHh/LyoiIiIiIiIgovzBKsUSmPX64PP55j3kDLCsjIiIiIiIiovyiy/UBrFZPHLTi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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "superpa = []\n",
    "for i in range(200):\n",
    "    rfc = RandomForestClassifier(n_estimators=i+1,n_jobs=-1)\n",
    "    rfc_s = cross_val_score(rfc,wine.data,wine.target,cv=10).mean()\n",
    "    superpa.append(rfc_s)\n",
    "print(max(superpa),superpa.index(max(superpa)))\n",
    "plt.figure(figsize=[20,5])\n",
    "plt.plot(range(1,201),superpa)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 305,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1872583848\n",
      "794921487\n",
      "111352301\n",
      "1853453896\n",
      "213298710\n",
      "1922988331\n",
      "1869695442\n",
      "2081981515\n",
      "1805465960\n",
      "1376693511\n",
      "1418777250\n",
      "663257521\n",
      "878959199\n",
      "854108747\n",
      "512264917\n",
      "515183663\n",
      "1287007039\n",
      "2083814687\n",
      "1146014426\n",
      "570104212\n"
     ]
    }
   ],
   "source": [
    "rfc = RandomForestClassifier(n_estimators=20,random_state=2)\n",
    "rfc = rfc.fit(Xtrain, Ytrain)\n",
    "#随机森林的重要属性之一：estimators，查看森林中树的状况\n",
    "for i in range(len(rfc.estimators_)):\n",
    "    print(rfc.estimators_[i].random_state)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 308,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9775280898876404"
      ]
     },
     "execution_count": 308,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#无需划分训练集和测试集\n",
    "rfc = RandomForestClassifier(n_estimators=25,oob_score=True)\n",
    "rfc = rfc.fit(wine.data,wine.target)\n",
    "#重要属性oob_score_\n",
    "rfc.oob_score_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 311,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9814814814814815"
      ]
     },
     "execution_count": 311,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfc = RandomForestClassifier(n_estimators=25,random_state=1)\n",
    "rfc = rfc.fit(Xtrain, Ytrain)\n",
    "rfc.score(Xtest,Ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 312,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.11259012, 0.02506916, 0.01799428, 0.01689191, 0.04345726,\n",
       "       0.03647839, 0.23224915, 0.00832265, 0.01850563, 0.12949398,\n",
       "       0.07355709, 0.08177178, 0.20361861])"
      ]
     },
     "execution_count": 312,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfc.feature_importances_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 331,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 5,  4, 11, ..., 15,  1,  5],\n",
       "       [ 1,  7,  2, ..., 11,  3,  2],\n",
       "       [ 9, 11, 16, ...,  9, 10,  9],\n",
       "       ...,\n",
       "       [ 5,  4,  7, ...,  3,  1,  5],\n",
       "       [ 5,  4,  7, ...,  3,  1,  5],\n",
       "       [ 7, 11, 16, ...,  9, 10,  9]], dtype=int64)"
      ]
     },
     "execution_count": 331,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "app=rfc.apply(Xtest)\n",
    "app\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 353,
   "metadata": {},
   "outputs": [
    {
     "ename": "FileNotFoundError",
     "evalue": "[WinError 2] 系统找不到指定的文件。",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-353-0da1b891e7d2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     10\u001b[0m \u001b[1;31m# 用系统命令转为PNG文件(需要 Graphviz)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     11\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0msubprocess\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mcall\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 12\u001b[1;33m \u001b[0mcall\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"dot\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"-Tpng\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"tree.dot\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"-o\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"tree.png\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     13\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     14\u001b[0m \u001b[1;31m# 在jupyter notebook中展示\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\Anaconda\\Anaconda3\\lib\\subprocess.py\u001b[0m in \u001b[0;36mcall\u001b[1;34m(timeout, *popenargs, **kwargs)\u001b[0m\n\u001b[0;32m    338\u001b[0m     \u001b[0mretcode\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcall\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"ls\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"-l\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    339\u001b[0m     \"\"\"\n\u001b[1;32m--> 340\u001b[1;33m     \u001b[1;32mwith\u001b[0m \u001b[0mPopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mpopenargs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mp\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    341\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    342\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\Anaconda\\Anaconda3\\lib\\subprocess.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)\u001b[0m\n\u001b[0;32m    852\u001b[0m                             encoding=encoding, errors=errors)\n\u001b[0;32m    853\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 854\u001b[1;33m             self._execute_child(args, executable, preexec_fn, close_fds,\n\u001b[0m\u001b[0;32m    855\u001b[0m                                 \u001b[0mpass_fds\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcwd\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0menv\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    856\u001b[0m                                 \u001b[0mstartupinfo\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcreationflags\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mshell\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\Anaconda\\Anaconda3\\lib\\subprocess.py\u001b[0m in \u001b[0;36m_execute_child\u001b[1;34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)\u001b[0m\n\u001b[0;32m   1305\u001b[0m             \u001b[1;31m# Start the process\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1306\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1307\u001b[1;33m                 hp, ht, pid, tid = _winapi.CreateProcess(executable, args,\n\u001b[0m\u001b[0;32m   1308\u001b[0m                                          \u001b[1;31m# no special security\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1309\u001b[0m                                          \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mFileNotFoundError\u001b[0m: [WinError 2] 系统找不到指定的文件。"
     ]
    }
   ],
   "source": [
    "estimator = rfc.estimators_[0]\n",
    "from sklearn.tree import export_graphviz\n",
    "# 导出为dot 文件\n",
    "export_graphviz(estimator, out_file='tree.dot', \n",
    "                feature_names = wine.feature_names,\n",
    "                class_names = wine.target_names,\n",
    "                rounded = True, proportion = False, \n",
    "                precision = 2, filled = True)\n",
    "\n",
    "# 用系统命令转为PNG文件(需要 Graphviz)\n",
    "from subprocess import call\n",
    "call([\"dot\",\"-Tpng\",\"tree.dot\",\"-o\",\"tree.png\"])\n",
    "\n",
    "# 在jupyter notebook中展示\n",
    "from IPython.display import Image\n",
    "Image(filename = 'tree.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 321,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([2, 1, 0, 1, 0, 2, 1, 0, 2, 1, 0, 0, 1, 0, 1, 1, 2, 0, 1, 0, 0, 1,\n",
       "       2, 0, 0, 2, 0, 0, 0, 2, 1, 2, 2, 0, 1, 1, 1, 1, 1, 0, 0, 1, 2, 0,\n",
       "       0, 0, 1, 0, 0, 0, 1, 2, 2, 0])"
      ]
     },
     "execution_count": 321,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfc.predict(Xtest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 326,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.  , 0.16, 0.84],\n",
       "       [0.  , 1.  , 0.  ],\n",
       "       [0.96, 0.04, 0.  ],\n",
       "       [0.  , 0.92, 0.08],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.  , 0.08, 0.92],\n",
       "       [0.04, 0.8 , 0.16],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.  , 0.2 , 0.8 ],\n",
       "       [0.  , 1.  , 0.  ],\n",
       "       [0.92, 0.08, 0.  ],\n",
       "       [0.72, 0.24, 0.04],\n",
       "       [0.  , 1.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.  , 1.  , 0.  ],\n",
       "       [0.  , 1.  , 0.  ],\n",
       "       [0.  , 0.28, 0.72],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.  , 0.92, 0.08],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.04, 0.92, 0.04],\n",
       "       [0.  , 0.32, 0.68],\n",
       "       [0.64, 0.36, 0.  ],\n",
       "       [0.92, 0.08, 0.  ],\n",
       "       [0.  , 0.08, 0.92],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.  , 0.  , 1.  ],\n",
       "       [0.08, 0.92, 0.  ],\n",
       "       [0.  , 0.28, 0.72],\n",
       "       [0.  , 0.2 , 0.8 ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.04, 0.96, 0.  ],\n",
       "       [0.  , 1.  , 0.  ],\n",
       "       [0.  , 0.96, 0.04],\n",
       "       [0.08, 0.92, 0.  ],\n",
       "       [0.  , 1.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.  , 0.64, 0.36],\n",
       "       [0.  , 0.  , 1.  ],\n",
       "       [0.84, 0.08, 0.08],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.96, 0.04, 0.  ],\n",
       "       [0.08, 0.84, 0.08],\n",
       "       [0.92, 0.  , 0.08],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [1.  , 0.  , 0.  ],\n",
       "       [0.  , 0.96, 0.04],\n",
       "       [0.  , 0.  , 1.  ],\n",
       "       [0.  , 0.  , 1.  ],\n",
       "       [0.84, 0.16, 0.  ]])"
      ]
     },
     "execution_count": 326,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfc.predict_proba(Xtest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 328,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.00036904803455582827"
      ]
     },
     "execution_count": 328,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy.special import comb\n",
    "\"\"\"一棵树误差率0.2时，25棵树随机森林的误差率\"\"\"\n",
    "np.array([comb(25,i)*(0.2**i)*((1-0.2)**(25-i)) for i in range(13,26)]).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 329,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0,1,20)\n",
    "y = []\n",
    "for epsilon in x:\n",
    "    E = np.array([comb(25,i)*(epsilon**i)*((1-epsilon)**(25-i))for i in range(13,26)]).sum()\n",
    "    y.append(E)\n",
    "plt.plot(x,y,\"o-\",label=\"when estimators are different\")\n",
    "plt.plot(x,x,\"--\",color=\"red\",label=\"if all estimators are same\")\n",
    "plt.xlabel(\"individual estimator's error\")\n",
    "plt.ylabel(\"RandomForest's error\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\"\"\"基分类器的判断准确率至少要超过50%时，随机森林才有意义\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
